<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title></title>
</head>
<body>
	<script type="text/javascript">
		/*
			函数的分类：
				内置函数(js提供的函数): alert confirm

				自定义函数:
					1.命名函数
					2.匿名函数
					3.函数表达式
					4.构造函数
		*/
		//1.命名函数
		function name(){
			console.log("我是命名函数")
		}
		name();

		//2.匿名函数 ---自己调用自己
		//一般作为参数使用
		(function(){
			console.log("我是匿名函数")
		})();
		//定时器 隔几秒执行一次 匿名作为参数使用
		/*setInterval(function(){
			console.log("匿名作为参数使用")
		},1000)*/

		//3.函数表达式 将匿名函数赋值给一个变量

		let aaa = function(){
			console.log("我是函数表达式")
		}
		//调用：变量名()
		aaa()

		//4.构造函数

		//函数的重载 --- js里没有重载
		//注意: js里定义函数时，不要使用相同的名字。java会保留，会根据你的传参不同，去匹配相应的方法
		//js中名字相同的函数，最后一个会覆盖上面的函数
		function fu(a, b){
			console.log("第一个函数")
		}
		function fu(a, b, c){
			console.log("第二个函数")
		}

		fn(1, 2)//第二个函数
	</script>
</body>
</html>